package com.shioirikukuri.service;

import com.shioirikukuri.entity.Category;

import java.util.List;
import java.util.Optional;

public interface ICategoryService {

	/**
	 * 获取所有分类列表
	 *
	 * @return 分类列表
	 */
	List<Category> getAllCategories();

	/**
	 * 根据ID查找分类
	 *
	 * @param id 分类ID
	 * @return 包含找到的分类的Optional对象，如果未找到则为空
	 */
	Optional<Category> getCategoryById(Long id);

	/**
	 * 添加新的分类
	 *
	 * @param category 新分类的信息
	 * @return 已添加的分类
	 */
	Category addCategory(Category category);

	/**
	 * 更新已有分类的信息
	 *
	 * @param id       需要更新的分类ID
	 * @param category 新的分类信息
	 * @return 更新后的分类
	 */
	Category updateCategory(Long id, Category category);

	/**
	 * 删除指定ID的分类
	 *
	 * @param id 分类ID
	 */
	void deleteCategory(Long id);
}
